#ifndef WINDOWS_H
#define WINDOWS_H

#include <iostream>
#include <vector>
#include <string>
#include <boost/lexical_cast.hpp> //int --> string casting

#include "allegro.h"
#include "alleggl.h"


#include "winBase.h"

#include "winImage.h"
#include "winButton.h"
#include "winEdit.h"
#include "winText.h"

#include "grafics.h"


using namespace std;

class windows : public winBase {


    public:


        windows();
        virtual ~windows();


        bool menue;
        bool movable;
        bool resizable;
        string title;
        int typ;
        int id; // given handle


        bool renderd;


        int textCount;
        winText text[10];

        int buttonCount;
        winButton button[10];

        int editCount, editCursor;
        winEdit edit[10];

        vector<winImage> image;
        int imageCount;



        BITMAP *ptrBuffer;

        grafics *ptrGrafics;


        // access functions
        winText getTextByHandle(int pHandle);
        winImage getImageByHandle(int pHandle);
        winEdit getEditByHandle(int pHandle);
        winButton getButtonByHandle(int pHandle);

        // grafics
        bool Render(void);
        bool Draw(void);


    protected:


    private:


};

#endif // WINDOWS_H
